Image processor and image printer

ABSTRACT

The description interpreting unit ( 101 ) identifies the format (the Exif, the JFIF and the like) of the image data which is included in the content which is received from the host equipment ( 10 ). The image data obtaining unit ( 103 ) obtains the image data which is linked to the content from the printing content buffer ( 102 ) or the external DB ( 119 ). The image judging unit ( 104 ) judges the type of the received image file, and notifies the result to the image rasterization unit ( 105 ). The image rasterization unit ( 105 ) extends the compressed image data. The image processing deciding unit ( 106 ) decides parameters for the image processing which is executed by the image processing unit ( 107 ). The rendering unit ( 108 ) converts the image data to be described by the CMYK color space in order to execute printing. And, the printing unit ( 109 ) executes printing.

TECHNICAL FIELD

The present invention relates to an image printing apparatus whichexecutes printing based on image data, in particular, to an imageprocessing apparatus or an image printing apparatus for executingprinting, using image data which is generated by an electronic imagingapparatus such as a digital still camera, image data which is displayedby a digital TV and the like and image data which is distributed via anetwork and the methods thereof.

BACKGROUND ART

Recently, an apparatus which (i) photoelectrically converts a subjectimage which is formed by a taking lens into electric signals using animage sensor such as a charge-coupled device (CCD), (ii) performs acompression process for the electric signals by the Joint PhotographicExperts Group (JPEG) method and the like and (iii) records the imagedata in a recording medium has been widely used. For example, there is adigital still camera (also called an electronic still camera) whichcomprises a card medium such as a PC card or “SmartMedia”, an internalfixed memory and the like.

In the wake of this phenomenon, there has been a printer which reads outthe image data which is generated by such digital still camera(described as “DSC” below) as described above and the like andtwo-dimensionally prints the image data in a printing medium such aspaper.

Also, an AV equipment such as a TV or a DVD recorder which has a viewerfunction with which the image data taken by such DSC as described abovecan be seen and a browser function which displays information data suchas a data broadcasting has been commercialized. And, the rasterizationof a printer for printing such contents as described above from the AVequipment has been considered.

Normally, header information which accompanies the Exchangeable ImageFile Format (Exif) standard is added to the image data which isgenerated and compressed according to the JPEG standard by aconventional DSC and the like. The type of the employed DSC,photographic conditions in shooting and the like are described in theheader information. Also, in the case where it is desired to record highquality data, the high quality data can be accumulated in a memorymedium by a reversible and incompressible recording method (for example,the Tagged Image File Format (TIFF) method).

In the case where image data of the JPEG format which is generated by aDSC and the like is printed, the conventional image printing apparatus(for example, Japanese Laid-Open Application No. 2000-13718) executeseach kind of image processing, that is, a rasterization process ofcompression data (called an extension or a decompression) and a colorconversion process which performs a color correction and the like, basedon the contents described in the header information, so that theinputted image data is printed in the optimum form.

By the way, as contents for printing, there is a content which isdescribed in the Hyper Text Markup Language (HTML) format for the WorldWide Web (WWW) and a content which is described in the Broadcast MarkupLanguage (BML) format for a digital broadcasting, and both of thecontents include image data of the JPEG format.

However, the image data which is included in such contents as describedabove is not limited to the image data which is generated by a DSC andthe like. For example, there are image data which is read by a scannerand the like and image data whose format is changed from other imageformats. Although such image data as described above is the image dataof the same JPEG format, the header information of the Exif is not addedto. And, among such contents as described above, there is a case whereJPEG images of different data sources exist in the same content.

Moreover, the image data which is used by a DSC is generally createdbased on the color space called “sRGB”. However, some of the image datais created by the color spaces of the National TV Standards Committee(NTSC) format, called “YIQ” or “adobeRGB”. Also, like the BML, there isa case where the data which has been converted into the “YIQ” colorspace of the NTSC format is prepared on the assumption that the data isto be displayed on a TV screen from the very start. On the other hand,as a printer usually converts the color space of the image data into theCyan-Magenta-Yellow-blacK (CMYK) space and executes printing, the colorspace conversion which converts the color space of the inputted imagedata into the color space for printing is necessary.

If such mixed contents as described above are printed by theconventional printer, the image processing is executed uniquely treatingall of the image data which is included in the contents as the imagedata which is created by a DSC and the like. Thus, the conversion of thecolor space and the image processing are also executed to the image dataof the same JPEG format which is read out by a scanner and the likewhose specific standards are different, as if the image data was read bya DSC.

Furthermore, conventionally, in the case where a printing of highquality is executed solving such situation as described above, a userneeds to preview the outcome of the printing using a computer and adjustthe specific parameters for the color space conversion. Thereby, it iscomplicated.

The first object of the present invention, in view of such problem asdescribed above, is to provide an image printing apparatus and the likewhich can print each image well even in the case where a plurality ofimages of different formats and the like are mixed in one content forprinting. Furthermore, the second object of the present invention is toprovide an image printing apparatus and the like which can execute agood printing without user's specific directions.

DISCLOSURE OF INVENTION

In order to achieve such objects as described above, the imageprocessing apparatus according to the present invention executes animage processing for given image data, comprising: an image obtainingunit operable to obtain at least one or more image data; a formatjudging unit operable to judge a format which specifies a storage formatof the image data for each of said obtained image data; and an imageprocessing unit operable to execute a predetermined image processing forthe image data based on the judged format.

Thus, even if image data of different formats exists in a printingcontent, an image processing for always executing an optimum printing ofgood quality for each image data is possible. In other words, by usingthe image printing apparatus according to the present invention, even inthe case where different kinds of image files exist in one printingcontent, a printing of good quality according to the situation of eachimage file is possible.

Also, in order to achieve such objects as described above, the imageprinting apparatus according to the present invention executes printingbased on given image data, comprising: an image obtaining unit operableto obtain at least one or more image data; a format judging unitoperable to judge a format for each of said obtained image data; animage processing unit operable to execute a predetermined imageprocessing for the image data based on the judged format; and a printingunit operable to execute printing in a predetermined printing mediumbased on the image data which said image processing has been executedto.

Thus, even if image data of different formats exists in a printingcontent, an optimum printing of good quality can be always executed foreach image data.

Moreover, in order to achieve such objects as described above, the imageprocessing apparatus according to the present invention executes animage processing for given image data, and outputs the image data to aspecific apparatus, the image processing apparatus comprising: an imageobtaining unit operable to obtain information indicating a color spaceand at least one or more image data which is defined according to thecolor space; a color space specifying unit operable to specify a colorspace according to the specific apparatus; and a color space conversionunit operable to convert the obtained image data so that the data isdefined according to the specified color space.

Thus, the color space of each image data which is included in theprinting content is certainly transmitted to the printer via the colorspace information. Thereby, the conversion of the color space can becertainly executed. Even if image data has various kinds of colorspaces, a printed matter which has a color space similar to the colorspace that a content provider intended can be obtained. In other words,by using the image printing apparatus according to the presentinvention, the color space of each image data which is included in theprinting content is certainly transmitted to the printer via the colorspace information; the conversion of the color space can be certainlyexecuted; and even if image data has various kinds of color spaces, aprinted matter which has a color space similar to the color space that acontent provider intended can be obtained.

Furthermore, in order to achieve such objects as described above, theimage printing apparatus according to the present invention executesprinting based on given image data, the apparatus comprising: an imageobtaining unit operable to obtain information indicating a color spaceand at least one or more image data which is defined according to thecolor space; a color space specifying unit operable to specify a colorspace according to the image printing apparatus; a color spaceconversion unit operable to convert the obtained image data so that thedata is defined according to the specified color space; and a printingunit operable to execute printing in a predetermined printing mediumbased on the image data which said color space conversion has beenexecuted to.

Thus, the color space of each image data which is included in theprinting content is certainly transmitted to the printer via the colorspace information. Thereby, the conversion of the color space can becertainly executed. Even if image data has various kinds of colorspaces, a printed matter which has a color space similar to the colorspace that a content provider intended can be obtained.

In addition, in order to achieve such objects as described above, theimage processing apparatus according to the present invention executesan image processing for given image data and outputs the image data to aspecific apparatus, the image processing apparatus comprising: an imageobtaining unit operable to obtain at least one or more image data andinformation which indicates an apparatus which has generated the imagedata; a color space estimating unit operable to estimate a color spaceaccording to the image data based on the information which indicates anapparatus which has generated the image data; a color space specifyingunit operable to specify a color space according to the specificapparatus; and a color space conversion unit operable to convert theobtained image data so that a definition according to the estimatedcolor space becomes a definition according to the specified color space.

Thus, even in the case where the color space of the image which isincluded in the obtained printing content is not known, based on theinformation which indicates where the image object is generated, thecolor space of the environment where the printing content is generatedis estimated. And, according to the estimated color space, the data isconverted into the color space of the printer. Thus, an image processingfor obtaining a printed matter which has a similar color space to thecolor space a printing content provider intended is possible. In otherwords, by using the image printing apparatus according to the presentinvention, even in the case where the color space of the image which isincluded in the obtained printing content is not known, based on theinformation which indicates where the image object is generated, thecolor space of the environment where the printing content is generatedis estimated; according to the estimated color space, the data isconverted into the color space of the printer; and a printed matterwhich has a similar color space to the color space a printing contentprovider intended can be obtained.

Also, in order to achieve such objects as described above, the imageprinting apparatus according to the present invention executes printingbased on given image data, the apparatus comprising: an image obtainingunit operable to obtain at least one or more image data and informationwhich indicates an apparatus which has generated the image data; a colorspace estimating unit operable to estimate a color space according tothe image data based on the information which indicates an apparatuswhich has generated the image data; a color space specifying unitoperable to specify a color space according to the image printingapparatus; and a color space conversion unit operable to convert theobtained image data so that a definition according to the estimatedcolor space becomes a definition according to the specified color space.

Thus, even in the case where the color space of the image which isincluded in the obtained printing content is not known, based on theinformation which indicates where the image object is generated, thecolor space of the environment where the printing content is generatedis estimated. And, according to the estimated color space, the data isconverted into the color space of the printer. Thereby, a printed matterwhich has a similar color space to the color space a printing contentprovider intended can be obtained.

In order to achieve such objects as described above, the presentinvention can be realized as an image processing method or an imageprinting method which comprises, as steps, the characteristic units ofthe image processing apparatus or image printing apparatus, and aprogram which includes all of the steps. And, the program can not onlybe stored in the ROM included in the apparatus and the like, but also bedistributed via a recording medium such as a CD-ROM and a transmissionmedium such as a communication network.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing a functional structure of a printeraccording to the first embodiment;

FIG. 2 is an example of a schematic diagram showing a structure of aJPEG image file;

FIG. 3 is an example of a data structure of a JPEG image file based onthe JPEG File Interchange Format (JFIF);

FIG. 4 is an example of a data structure of a JPEG image file based onthe Exif;

FIG. 5 is a data structure example of a segment which starts with APP1marker;

FIG. 6A is an example of a head file of a printing content which isdescribed by the extensible Hyper Text Markup Language (XHTML)-Printformat;

FIG. 6B is an image file example which is linked to the file as shown inFIG. 6A;

FIG. 6C is an image file example which is linked to the file as shown inFIG. 6A;

FIG. 7 is a flow chart showing the flow of processes executed by aprinter;

FIG. 8 is a specific flow chart showing the flow of the “imageprocessing method deciding” process as shown in FIG. 7;

FIG. 9 is a schematic diagram showing the structure of a printingcontent file described by the XHTML-Print format which is inputted intothe printer as shown in FIG. 8;

FIG. 10 is a block diagram showing the functional structure of theprinter according to the second embodiment;

FIG. 11A is a diagram showing an example of the printing contentstructure according to the second embodiment;

FIG. 11B is an example of the image file which is linked to the file asshown in FIG. 11A;

FIG. 12 is an example of the case where color space information isdescribed in other parts than the header part;

FIG. 13 is a block diagram showing the functional structure of theprinter according to the third embodiment;

FIG. 14 is an example of the table which is used in the case where thecolor space of the obtained printing content is estimated;

FIG. 15A is a diagram showing an example of the printing contentstructure according to the third embodiment; and

FIG. 15B is an example of the image file which is linked to the file asshown in FIG. 15A.

BEST MODE FOR CARRY OUT THE INVENTION

The embodiments according to the present invention will be explained asfollowing.

First Embodiment

FIG. 1 is a block diagram showing the functional structure of a printer100 according to the first embodiment. The printer 100 executes anappropriate image processing based on the format of the image data (forexample, the JPEG image) which is included in the printing contentreceived from a host equipment 10, and executes printing using the imagedata after the image processing. Here, the “printing content” means thecontent for printing. The printing content is described by the languagesystem called the XHTML-Print which is one of the description languagesof the extensible Markup Language (XML) type.

As shown in FIG. 1, the printer 100 includes a description interpretingunit 101, a printing content buffer 102, an image data obtaining unit103, an image judging unit 104, an image rasterization unit 105, animage processing deciding unit 106, an image processing unit 107, arendering unit 108, a printing unit 109 and an object/character stringprocessing unit 110.

The description interpreting unit 101 includes a CPU, a ROM and thelike, and controls the whole printer 100. Also, the descriptioninterpreting unit 101 stores the printing content which is received fromthe host equipment 10 (for example, a digital TV or a Set Top Box (STB))in the content buffer 102.

In addition, the description interpreting unit 101 interprets thecontents of the image data file or the Cascading Style Sheet (CSS) filewhich are described in the printing content, and creates the layout ofeach object according to the content. Then, the description interpretingunit 101 creates layout information (which includes linked informationof the files) indicating the result, and notifies the layout informationto the image data obtaining unit 103. Here, the “object” means a bunchof data such as a graph and a diagram which are displayed on theapplication. Also, the “layout” means to decide, when printing, in whichposition and at what size each object should be printed.

Furthermore, in the case where the size of each object is not known,depending on the description of the XHTML-Print format or the contentdescribed in the CSS file, the description interpreting unit 101 judgesthe size of each object by actually reading in the linked file.

The printing content buffer 102 temporarily holds the printing contentby the direction of the description interpreting unit 101. In somecases, all of these contents are buffered, in advance, in the printingcontent buffer 102. In other cases, only the necessary data for eachcontent is buffered, when necessary, in the printing content buffer 102.

The image data obtaining unit 103 extracts the corresponding image filein the printing contents which are buffered in the printing contentbuffer 102, based on the linked information which is included in thelayout information which is notified from the description interpretingunit 101, and transmits the image file to the image judging unit 104. Inthe case where the linked image file exists in the external DB 119 otherthan the printing content buffer 102, the image data obtaining unit 103obtains the image file from the external DB119, and transmits the imagefile to the image judging unit 104.

The image judging unit 104 judges the type of the image file which isreceived from the image data obtaining unit 103, and notifies the resultto the image rasterization unit 105. As specific judging methods in suchcase as described above, there are a judging method with an extension ofthe image file, a judging method with header information of the imagefile and a judging method from the list itself of the image file data.In general, for an extension of the JPEG image file which is coded basedon the JPEG standard which is one of the irreversible coding (lossycoding) methods, “.JPG”, “.JPEG” (including the case where eachextension has small letters) and the like are often used. And, for anextension of the Graphic Interchange Format (GIF) file which is coded bythe GIF method which is one of the irreversible coding (lossless coding)methods, the extension such as “GIF” is often used. Moreover, the imagefile based on the JPEG2000 standard can be judged based on the extensionsuch as “.j2k”, “.jp2” and “.jpx” (including the case where eachextension has big letters).

Thus, the image judging unit 104 judges the type of the image file basedon such extensions as described above. Furthermore, even in the casewhere the size of the object cannot be defined by the descriptioninterpreting unit 101, the image judging unit 104 defines the size ofthe object based on the size of each file which is described in theheader of individual image file.

Here, the judging method for each type of image file by the imagejudging unit 104 will be explained using an example of the JPEG imagefile. All of the following JPEG image files are called “baseline JPEG”.

In general, the JPEG standard defines the compression method for theimage data, but it does not define how to store the image data as afile. As a format standard of a file for holding the JPEG image data,there are generally the JPEG File Interchange Format (JFIF) which isapplied to the data file used by a computer and the like and theExchangeable image file format (Exif) for Digital Still Camera which isapplied to the format of the image file which is mainly used by a DSC.Also, there are JPEG image files which are created by converting otherstandard formats.

The image rasterization unit 105 extracts (extends) the YCC image datafrom the JPEG image file based on the judgment result which is notifiedby the image judging unit 104, and generates bit map data. The YCC imagedata is a Ysignal and two color-difference signals which can be obtainedby converting RGB data. Thus, the RGB image data can be obtained byinversing the YCC image data. Moreover, the image rasterization unit 105stores the generated bit map data in the memory unit 111.

The image processing deciding unit 106 decides the method of the imageprocessing to be executed to the bit map data which is rasterized by theimage rasterization unit 105. An example of the image processing methodin such case as described above will be raised as following. A casewhere the rasterized bit map data is read out from the memory unit 111,and an image processing (for example, a color correction process and thelike) is executed to the bit map data is assumed. The JPEG image datawhich is recorded by a DSC is generally recorded based on the Exifformat. In such case as described above, according to the Exif format,sometimes the parameters for shooting such as the type of the CCD (forexample, a complimentary color type, a primary color type, and the like)which is used by the DSC, the type of the light source such as whetheror not there is a strobo light emission and the exposure time arerecorded. Thus, in the case of the Exif format, a direction ispredetermined to the image processing unit 107 so that the imageprocessing is executed taking such parameters for shooting into account.On the other hand, in the case of the JFIF format, specific parameterssuch as the Exif format are not specified. Therefore, the imageprocessing deciding unit 106 gives a direction to the image processingunit 107 so that the image processing is executed using thepredetermined default parameters.

The image processing unit 107 executes an image processing for the bitmap data based on the direction of the image processing deciding unit106. The JPEG is a method which is designed for compressing a full colorimage or gray scale image of the nature (the real landscape and thelike). And, it is an optimum compression method in the case where anartwork which depicts the nature such as a picture or a similar materialis processed. Thus, the image processing assumes such images asdescribed above.

In the case where the object/character string processing unit 110 isjudged, by the description interpreting unit 101, as the file other thanthe JPEG image file (such files as described above are a diagram objectsuch as a line or a rectangle or an object such as an animation image ora character string), each object is converted into bit map data, inaddition to a series of processes for the JPEG image file.

The rendering unit 108 combines the object which is two-dimensionallyimaged after being converted into the bit map data by theobject/character string processing unit 110, the bit map data which israsterized by the image rasterization unit 105 and the bit map datawhich is processed by the image processing unit 107. And, the renderingunit 108 converts such combined data as described above into the imagedata which is described by the CMYK color space in order to execute aprinting. Although some printers print the RGB data as it is, such CMYKconversion as described above is not executed in this case.

The printing unit 109 performs printing, in a medium such as paper, theprinting data such as the CMYK image data which is converted by therendering unit.

Here, the structure (format) of the JPEG image file according to thefirst embodiment will be explained in reference to FIG. 2. FIG. 2 is anexample of a schematic diagram showing the structure of the JPEG imagefile. As shown in FIG. 2, in the JPEG image file, the boundary of onefile can be identified by a predetermined Start Of Image (SOI) marker501 which indicates the starting point of a file and a predetermined EndOf Image (EOI) marker 502 which indicates the ending point of a file.The code of the marker according to the JPEG standard is formed by atotal of two bytes: the hexadecimal notation, “0xFF” (the hexadecimalnumbers will be described as “0x” below) and the continuing number ofone byte. According to the JPEG standard, the SOI marker 501 isdescribed as “0xFFD8”, and the EOI marker 502 is described as “0xFFD9”.

After the SOI marker 501, for example, the marker 503 which indicatesthe type of encryption and the marker 504 which indicates the encryptionparameters such as a quantization table continue. The inside of thesemarkers is formed by the marker code 510 of 2 bytes, the size 511 of themarker which is described by 2 bytes and the marker data 512. The valueof the size 511 of the marker is an addition of the number of bytes ofthe data 512 of the marker and 2 bytes which is the number of bytes ofthe size 511 of the marker. After such markers as described above, thedata unit 505 which starts at the Start Of Frame (SOFn) marker 506continues. The SOFn marker 506 is inserted into the head of a frame, andspecifies an algorithm for coding and the like. Here, the “frame”describes the image information of the first floor layer. As the imagedata of the JPEG (baseline JPEG) which is generally used has one imageper one frame, one JPEG image file has one frame header.

FIG. 3 is an example of a data structure of the JPEG image file, basedon the JFIF, which is created by converting the data format of acomputer and the like. In the case of the data which is based on theJFIF, after the SOI marker 501, APP0 marker 520 (0xFFE0) appears. In thedata unit 521, the data 521 which starts with the character code calledthe “JFIF” (0x41, 0x46, 0x49, 0x46, 0x00) is recorded. Next, the marker522 which has the data of the necessary parameters such as aquantization table to use for decoding and a Huffman table is described,and continues to the frame data unit 523. Thus, in the case of a filewhich is based on the JFIF, identification is possible based on whetheror not the APP0 marker 520 exists, continuing after the SOI marker 501.

FIG. 4 is an example of the data structure of a JPEG image file, basedon the Exif, which is created by a DSC and the like. In the case of databased on the Exif, APP1 marker 530 (0xFFE1) appears following the SOImarker 501. This segment which starts at the APP1 marker 530 has a datastructure as shown in FIG. 5. In the DATA 531, the data 532 which startswith the character code called the “Exif” (0x45, 0x78, 0x69, 0x66, 0x00,0x00) is recorded at the beginning. Thus, identification is possible asto whether or not it is a file based on the Exif by checking theexistence and non-existence of the APP1 marker 531 following the SOImarker 501.

As described above, the image judging unit 104 judges whether a file isbased on the JFIF or the Exif by reading in the marker which follows theSOI marker 501 of the inputted JPEG image file and its head data.

Next, the operations of the printer 100 according to the firstembodiment will be explained in reference to FIG. 6 to FIG. 9. Theprinter 100, as described above, obtains the printing content which isdescribed in the Broadcast Markup Language (BML) and the Markup Language(ML) such as the XHTML-Print from an equipment such as an STB whichreceives a digital broadcasting, and interprets the content described inthe ML. Then, the printer 100 executes printing by rendering theinterpreted content into a two-dimensional image along with the imagedata which is included in the printing content. A case where a printingcontent which is described in the XHTML-Print format is received fromthe STB is assumed and will be explained as following.

FIG. 6A-FIG. 6C are diagrams showing an example of the printing contentwhich is described in the XHTML-Print format. In the head file (the filename is “honbun.xml”) as shown in FIG. 6A, each component is describedas a unit of an object in the XHTML-Print format. And, for each object,parameters such as size, color and relative position/absolute positionare specified. These parameters may be defined by the file whichindicates a style attribute called the Cascading Style Sheets (CSS).Moreover, each object is described in the link format, and it may existas another file. FIG. 6B and FIG. 6C are two image files 610 (the filename is “exif. jpg”) and 620 (the file name is “jfif. jpg”) which arelinked to the file as shown in FIG. 6A. Although a file which indicatesan attribute of each object may exist, depending on the printingcontent, the explanation will be omitted here.

FIG. 7 is a flow chart showing a flow of the processes of the printer100.

First, the description interpreting unit 101 receives a printing contentwhich is described in the XHTML-Print format from a host equipment 10(for example, an STB), and stores the printing content in the printingcontent buffer 102 (S201).

Next, the description interpreting unit 101 interprets the descriptioncontent of the “Honbun. xml” which is a head file of the printingcontent, and specifies a linked image file and the like. In such case asdescribed above, as shown in FIG. 6A, as the part which is surrounded by“tag<p>601” and “tag</p>602” is a character string, the fact that thepart is a character string is notified to the “object/character stringprocessing unit 110”.

Moreover, the description interpreting unit 101 interprets that the partwhich is described as “img src=” in the file “honbun. xml” indicateslinked files (in FIG. 6A two image files such as the “exif. jpg” and the“jfif. jpg” are linked). After that, the image data obtaining unit 103obtains the linked image files from the printing content buffer 102 orthe external DB119 (S203). The obtained image files are transmitted tothe image judging unit 104.

After that, the image judging unit 104 judges the type of the obtainedimage file (S204). The two image files as described above can be judgedas the JPEG image files from the extensions. Furthermore, in the case ofthe JPEG image file, as described above, whether it is data based on theJFIF or data based on the Exif is judged by checking the data of theapplication marker which follows the SOI marker.

If the delimiter which follows the SOI marker is the APP1 marker, andthe data includes a character string called the “Exif” (S204: Exif), theJPEG image file is judged as based on the Exif standard, and transmittedfrom the image rasterization unit 105 to the image processing decidingunit 106. And, the image processing method is selected based on theapparatus information, the photographic information and the like(described as “apparatus information and the like” below) which aredescribed within the application segment of the type 1. The example ofFIG. 6B corresponds to such case as described above. Then, the imageprocessing unit 107 transmits the bit map image data which is imageprocessed by the selected and specified image processing method to therendering unit 108.

On the other hand, if the delimiter following the SOI marker is an APP0marker (5204: JFIF), the JPEG image file is judged as the file based onthe JFIF standard, and directly transmitted from the image rasterizationunit 105 to the process of the rendering unit 108. The example of FIG.6C corresponds to such example as described above.

After that, the rendering unit 108 combines all of such data asdescribed above (S207), and executes an image processing for each object(S205, S206). Thus, the printing unit 109, as shown in FIG. 9, executesprinting on a printing medium such as paper (S208).

According to the first embodiment, the case where the JPEG image filehas the Exif format and the JFIF format is described. As other examples,in the case where the image file which is sent to the image judging unit104 is a graphic image of the Portable Network Graphics (PNG) format orthe Graphic Interchange Format (GIF) which has an extension such as“.png” or “.gif”, the printer can be formed so that the image processingdeciding unit 106 selects the image processing method which is suitablefor the graphic image.

FIG. 8 is a specific flow chart of the “image processing method deciding(S205)” process as shown in FIG. 7 as described above.

First, the image processing deciding unit 106 reads out (S301) thedefault parameters for deciding the image processing which are memorizedinside (described as “process parameters” below), and reads out (S302)the apparatus information and the like which are described in the imagedata received from the image rasterization unit 105.

Furthermore, the image processing deciding unit 106 compares the defaultapparatus information and the like with the read-out apparatusinformation and the like (S304). In the case where there is a difference(S305: Yes), the values of the process parameters are changed, and theprocess parameters are notified to the image processing unit 107. Suchprocesses as described above are repeated for all of the apparatusinformation and the like (S304-S307).

As described above, using the printer according to the first embodiment,the image printing apparatus which can execute an appropriate imageprocessing for printing, based on the format of the image data which isincluded in the received printing content, can be realized.

Second Embodiment

According to the first embodiment, the printer which executes anappropriate image processing, based on the format of the image datawhich is included in the received printing content, and prints an imageafter the appropriate image processing is explained. According to thesecond embodiment, a printer which receives information (described as“color space information” below) indicating a color space of an imageaccording to image data, executes an image processing, based on thecolor space information, and prints an image after the image processingwill be explained.

Here, the “color space” means a three-dimensional (for example, RGB) orfour-dimensional (for example, CMYK) coordinate system for indicatingcolors. The color space has various definitions. The “NTSC color space(,that is, the YIQ color space)” is generally used for a TV receivingset and the like. And, the “sRGB color space” is generally used for aDSC. Also, in the case of a printing apparatus, color spaces such as the“adobeRGB color space” or the “AppleRGB color space” are used as well.Each color space has a subtly different range of colors to be displayed.The JPEG standard does not have any specifications for the color space.If an image is shot by a DSC, the color space can be supposed as the“sRGB”. However, in the case of a JPEG file, it is difficult to judgewhat kind of color space the data is created by.

FIG. 10 is a block diagram showing a functional structure of a printer200 according to the second embodiment. According to the secondembodiment, as well as the first embodiment, a case where printing isexecuted using the image data which is described in the XHTML-Printformat in the printing content is assumed.

As shown in FIG. 10, the printer 200 comprises a descriptioninterpreting unit 121, a printing content buffer 102, an image dataobtaining unit 103, a decoding unit 126, an image processing unit 122, acolor space changing unit 123, a rendering unit 124 and a printing unit109. The explanation for the same structures as the first embodimentwill be simplified below, and the different structures will be mainlyexplained.

The description interpreting unit 121 includes a CPU, a ROM and thelike, and controls the whole printer 200. Moreover, the descriptioninterpreting unit 121 stores a printing content which is received from ahost equipment 10 in the printing content buffer 102. And, thedescription interpreting unit 121 identifies the color space of theimage which is included in (or linked to) the printing content, andnotifies the color space information to the color space changing unit123. Here, the description interpreting unit 121 identifies the colorspace based on the content which is described in the image file includedin the printing content. Furthermore, the description interpreting unit121 controls so that the image data obtaining unit 103, the decodingunit 126 and the image processing unit 122 are omitted in the case where(i) linked image data does not exist or (ii) the image data is notcompressed and decoding is unnecessary.

The decoding unit 126 generates bit map data, decoding an image objectwhich is obtained by the image data obtaining unit 103. In the casewhere the image data is not coded, the process of the decoding unit 126is omitted.

The image processing unit 122 executes an image processing for the bitmap data which is outputted from the decoding unit 126. For example, inthe case where the data is coded by the JPEG, a block distortion mayoccur. Thus, the process for reducing the distortion is executed.

The color space changing unit 123, for the bit map data which the imageprocessing has been executed to, based on the already detected colorspace information, changes the color space of the obtained printingcontent into the optimum color space for the printer. In general, thecolor space for an ink-jet printer, a laser printer and the like is the“CMYK color space”.

The printing content which is used according to the second embodimentwill be explained as following.

FIG. 11 is a diagram showing an example of the structure of the printingcontent which is used according to the second embodiment. A file 710which is described in the XHTML-Print format, as shown in FIG. 11A, is ahead file of the printing content, and the file name is “Honbun. xml”.As shown in FIG. 11A, between “tag<head>711” and “tag</head>712”, it isdefined that the color space of the image data file “sample. jpg” 714 isthe “NTSC” 713. The description interpreting unit 121 recognizes thecolor space of the subject image by interpreting such description asdescribed above. And, the process can be switched.

FIG. 11B is a diagram showing a pattern diagram of the image which isdescribed by the image data which is linked to FIG. 11A. And, the filename is “sample. jpg”.

As described above, using the printer according to the secondembodiment, the color space of each image data which is included in theprinting content is certainly transmitted to the printer via the colorspace information. Thereby, the conversion of the color space can becertainly executed. Even if image data has various kinds of colorspaces, a printed matter which has a color space similar to the colorspace that a content provider intended can be obtained.

According to the second embodiment, the conversion of the color space isexecuted after the image processing. However, the similar effects can beobtained even if the order is reverse.

Also, as an example of a content, the example in which the color spaceinformation is described in the header part of the image data which isdefined in the XHTML-Print format is described. However, the similareffects can be obtained even if another command data is describedinterlocking with the printing content.

FIG. 12 is an example of the case where the color space information isdescribed in the part other than the header part. As shown in FIG. 12,in the body part of the image file which is defined in the XHTML-Printformat, the fact that the color space of the image data file “sample.jpg” 733 is the “NTSC” 734 is defined. In this case as well, thedescription interpreting unit 121 can recognize the color space of thesubject image by interpreting such description as described above. And,the process can be switched.

Furthermore, by indicating the color space information as the attributeof the image object, even in the case where a plurality of image objectswhich have different color spaces exist in one printing content, anindependent image processing (for example, a color correction process)can be executed for each object.

Third Embodiment

According to the second embodiment, the embodiment where the color spaceinformation is directly exchanged is explained. According to the thirdembodiment, the method for estimating a color space and executing animage processing based on the description which indicates theenvironment where image data in a printing content is generated will beexplained.

FIG. 13 is a block diagram showing a functional structure of a printer300 according to the third embodiment. According to the thirdembodiment, as well as the first and second embodiments, a printer whichprints image data which is described in the XHTML-Print format isassumed.

As shown in FIG. 13, the printer 300 comprises a descriptioninterpreting unit 131, a printing content buffer 102, an image dataobtaining unit 103, a decoding unit 126, an image processing unit 122, acolor space changing unit 123, a rendering unit 124, a printing unit 109and a color space estimating unit 130. The explanation for the samestructures as the first and second embodiments will be simplified below,and the different structures will be mainly explained.

The description interpreting unit 131 includes a CPU, a ROM and thelike, and controls the whole printer 300. Moreover, the descriptioninterpreting unit 131 detects information which indicates theenvironment where a printing content is generated (also called “sourceproviding origin information”), and transmits the detected informationto the color space estimating unit 130.

The color space estimating unit 130, based on the information receivedfrom the description interpreting unit 131, estimates the color space ofthe environment where the image data is generated, according to thepredetermined rules (for example, a corresponding table or a flowchart). For example, in the case where a DSC file is based on the Exif,the color space can be judged as sRGB. Also, in the case where DSC datais not coded, the color space may be the “NTSC”. Moreover, in the casewhere data is captured by a TV and the like, the color space can beestimated as the “NTSC”. Thus, due to the notification of theinformation which indicates the environment where data is generated, thecolor space of the image can be estimated.

FIG. 14 is an example of a table which is used for estimating the colorspace of the printing content which is obtained by the color spaceestimating unit 130. As shown in FIG. 14, in the image file which isincluded in the printing content, the environment 801 (image generationenvironment) where the image data is generated and the color space name802 which is estimated from the image generation environment 801 areassociated with each other and defined.

The image data obtaining unit 103 receives an image object which istransmitted from the description interpreting unit 131. In the casewhere the image data is coded, it is decoded by the decoding unit 126,and bit map data is generated. In the case where the image data is notcoded, such process as described above is omitted. An appropriate imageprocessing is executed to the outputted bit map data by the imageprocessing unit 122. For example, in the case where the data is coded bythe JPEG, a block distortion may occur. Thus, a process for reducing thedistortion is executed. Here, specific explanations for the reducingprocess will be omitted. The color space changing unit 123 changes thecolor space of the content into the optimum color space for the printerin reference to the already detected color space information. Data isusually processed by the CMYK space in an ink-jet printer, a laserprinter and the like. The data whose color space has been changed isconverted into printer output data by the rendering unit 124, andprinted by the printing unit 109.

A printing content which is used according to the third embodiment willbe explained as following.

FIG. 15 is a diagram showing an example of a structure of the printingcontent which is used according to the third embodiment. A file 810which is described in the XHTML-Print format, as shown in FIG. 15A, is ahead file of the printing content. And, the file name is “Honbun. xml”.As shown in FIG. 15A, between “tag<head>811” and “tag</head>812”, thefact that the environment where the image data file “sample. jpg” 812 isgenerated is “DSC” 811 is defined.

Also, FIG. 15B is a diagram showing a pattern of the image which isdescribed by the image data linked to FIG. 15A. And the file name is“sample. jpg”.

As described above, by using the printer according to the thirdembodiment, even in the case where the color space of the image which isincluded in the obtained printing content is not known, based on theinformation which indicates where the image object is generated, thecolor space of the environment where the printing content is generatedis estimated. And, according to the estimated color space, the data isconverted into the color space of the printer. Thus, a printed matterwhich has a similar color space to the color space a printing contentprovider intended can be obtained.

According to the third embodiment, the color space is converted afterthe image processing. However, even if the order is reversed, and theimage processing is executed after the color space conversion, similareffects can be obtained.

Also, as a content example, an example in which the color spaceinformation is described in the header part of the image data which isdescribed in the XHTML-Print format is described. However, even ifanother command data is described interlocking with the printingcontent, similar effects can be obtained.

Furthermore, as a content example, an example in which the color spaceinformation is described in the header part of the XHTML-Print data isdescribed. However, by indicating the data as an attribute of the imageobject, even in the case where a plurality of image objects which havedifferent color spaces exist in one printing data, an independent imageprocessing (for example, a color correction process) can be executed foreach object.

INDUSTRIAL APPLICABILITY

As described above, an image processing apparatus, an image printingapparatus and methods used by these apparatuses are beneficial in thecase where printing is executed using various formats of image data suchas image data which is generated by an electronic imaging apparatus suchas a digital still camera, image data which is displayed by a digital TVand the like and image data which is distributed via a network, and inparticular, they are suitable for the case where a content in which aplurality of image data of different formats exists is printed.

1. An image printing apparatus which executes printing based on given image data, the apparatus comprising: an image obtaining unit operable to obtain at least one or more image data and information which indicates an apparatus which has generated the image data; a color space estimating unit operable to estimate a color space according to the image data based on the information which indicates an apparatus which has generated the image data; a color space specifying unit operable to specify a color space according to the image printing apparatus; and a color space conversion unit operable to convert the obtained image data so that a definition according to the estimated color space becomes a definition according to the specified color space.
 2. The image printing apparatus according to claim 1, wherein the image data is image object data which is linked to a file which is described in a Markup Language (ML) format or image object data which is described in an in-line format in said file, and the information about the source apparatus for obtaining the image data is defined as parameters for the image object data.
 3. An image printing method for executing printing based on given image data, the method comprising: an image obtaining step of obtaining at least one or more image data and information which indicates an apparatus which has generated the image data; a color space estimating step of estimating a color space according to the image data based on the information which indicates an apparatus which has generated the image data; a color space specifying step of specifying a color space according to the image printing apparatus; a color space conversion step of converting the obtained image data so that a definition according to the estimated color space becomes a definition according to the specified color space; and a printing step of executing printing in a predetermined printing medium based on the image data to which said color space conversion has been executed.
 4. The image printing method according to claim 3, wherein the image data is image object data which is linked to a file which is described in a Markup Language (ML) format or image object data which is described in an in-line format in said file, and the information about the source apparatus for obtaining the image data is defined as parameters for the image object data. 